2025-09-20
Получение навыков настройки базовых и специальных прав доступа для групп пользователей в операционной системе типа Linux.
Требуется, используя специальные разрешения для групп пользователей, обеспечить обмен файлами в общем для групп каталоге. При этом каталогу назначается бит идентификатора группы, а также sticky bit. Sticky bit — дополнительный атрибут файлов или каталогов в ОС типа Linux, применяющийся в основном для каталогов с целью защиты содержимого каталогов от повреждения или удаления пользователями, не являющимися их владельцами. Для установки этого атрибута используется утилита chmod. Восьмеричное значение stiky-бита: 1000, а символьное: +t.
Открываем терминал с учётной записью root. В корневом каталоге создаём каталоги и смотрим, кто является владельцем этих каталогов. Устанавливаем разрешения, позволяющие владельцам каталогов записывать файлы в эти каталоги и запрещающие доступ к содержимому каталогов всем другим пользователям и группам, затем проверяем установленные права доступа.
В другом терминале переходим под учётную запись пользователя bob. Под пользователем bob пробуем перейти в каталог /data/main и создать файл в этом каталоге. Файл создается, так как пользователь bob находится в группе main. Под пользователем bob пробуем перейти в каталог /data/third и создать файл в этом каталоге. Перейти в каталог не вышло, так как bob не в группе third.
Открываем новый терминал под пользователем alice. Переходим в каталог /data/main и создаём два файла, владельцем которых является alice.
В другом терминале переходим под учётную запись пользователя bob. Переходим в каталог /data/main и видим два файла, созданные пользователем alice. Пробуем удалить файлы, принадлежащие пользователю alice, и убеждаемся, что файлы будут удалены пользователем bob. Создаём два файла, которые принадлежат пользователю bob.
В терминале под пользователем root устанавливаем для каталога /data/main бит идентификатора группы, а также sticky-бит для разделяемого каталога группы.
В терминале под пользователем alice создаём в каталоге /data/main файлы и видим, что созданные файлы принадлежат группе, которая является группой-владельцем каталога.
В терминале под пользователем alice пробуем удалить файлы, принадлежащие пользователю bob, и убеждаемся, что sticky-bit предотвратит удаление этих файлов.
Открываем терминал с учётной записью root. Устанавливаем права на чтение и выполнение в каталоге /data/main для одной группы third и права на чтение и выполнение для другой группы main в соответствующем каталоге /data/third. Используем команду для просмотра прав, чтобы убедиться в правильности установки разрешений.
Создаём новый файл newfile1 в каталоге /data/main и используем проверку текущих назначений полномочий. Выполняем аналогичные действия для другого каталога /data/third. Файлы newfile1 имеют только базовые права, то есть без унаследования ACL.
Устанавливаем ACL по умолчанию для каталога /data/main. Добавляем ACL по умолчанию для каталога /data/third. Убеждаемся, что настройки ACL работают, добавив новый файл в каталог и проверив текущие назначения полномочий. Выполняем аналогичные действия для другого каталога.
Для проверки полномочий группы third в каталоге /data/main входим в другом терминале под учётной записью члена группы third. Проверяем операции с файлами и возможность осуществления записи в файл. Удалить newfile1 можно, так как нет защиты ACL, а дозаписать что-то в файл нельзя, так как нет права записи без унаследования прав ACL.
Мы получили навыки настройки базовых и специальных прав доступа для групп пользователей в операционной системе типа Linux.